package testPackage.testPackage;

import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

/**
 * step by step 09 TestNG中的软断言
 * Assert类提供了一种硬断言的形式，一旦断言失败，该特定测试方法的执行就会停止。
 * 并将该测试方法标记为失败。
 * SoftAssert类-软断言形式，断言失败不会引发assertionException,而是将执行所有语句，然后将断言结果
 * 进行整理，并根据断言结果将测试用例标记为通过或失败。
 * 统计断言结果：softAssert.assertAll()
 */
public class Testng09 {
    @Test
    public void softAssertionTest(){
        //创建软断言类对象
        SoftAssert softAssert = new SoftAssert();
        //断言失败
        softAssert.fail("Failing first assertion.");
        System.out.println("Failing 1");
        //断言失败
        softAssert.fail("Failing second assertion.");
        System.out.println("Failing 2");
        //断言通过
        softAssert.assertEquals(1,1,"Passing third assertion.");
        System.out.println("Passing 3");
        //统计断言结果  没有这一步时，所有失败的断言的测试用例也会被标记为通过
        softAssert.assertAll();
    }
}
